home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 1996 September & October / Amiga-CD 1996 #9-10.iso / demos / storm-c / stormc / include / dos / doshunks.h < prev    next >
C/C++ Source or Header  |  1994-03-15  |  3KB  |  96 lines

  1. #ifndef DOS_DOSHUNKS_H
  2. #define DOS_DOSHUNKS_H
  3. /*
  4. **    $VER: doshunks.h 36.9 (2.6.92)
  5. **    Includes Release 40.15
  6. **
  7. **    Hunk definitions for object and load modules.
  8. **
  9. **    (C) Copyright 1989-1993 Commodore-Amiga, Inc.
  10. **        All Rights Reserved
  11. */
  12.  
  13. /* hunk types */
  14. #define HUNK_UNIT    999
  15. #define HUNK_NAME    1000
  16. #define HUNK_CODE    1001
  17. #define HUNK_DATA    1002
  18. #define HUNK_BSS    1003
  19. #define HUNK_RELOC32    1004
  20. #define HUNK_ABSRELOC32    HUNK_RELOC32
  21. #define HUNK_RELOC16    1005
  22. #define HUNK_RELRELOC16    HUNK_RELOC16
  23. #define HUNK_RELOC8    1006
  24. #define HUNK_RELRELOC8    HUNK_RELOC8
  25. #define HUNK_EXT    1007
  26. #define HUNK_SYMBOL    1008
  27. #define HUNK_DEBUG    1009
  28. #define HUNK_END    1010
  29. #define HUNK_HEADER    1011
  30.  
  31. #define HUNK_OVERLAY    1013
  32. #define HUNK_BREAK    1014
  33.  
  34. #define HUNK_DREL32    1015
  35. #define HUNK_DREL16    1016
  36. #define HUNK_DREL8    1017
  37.  
  38. #define HUNK_LIB    1018
  39. #define HUNK_INDEX    1019
  40.  
  41. /*
  42.  * Note: V37 LoadSeg uses 1015 (HUNK_DREL32) by mistake.  This will continue
  43.  * to be supported in future versions, since HUNK_DREL32 is illegal in load files
  44.  * anyways.  Future versions will support both 1015 and 1020, though anything
  45.  * that should be usable under V37 should use 1015.
  46.  */
  47. #define HUNK_RELOC32SHORT 1020
  48.  
  49. /* see ext_xxx below.  New for V39 (note that LoadSeg only handles RELRELOC32).*/
  50. #define HUNK_RELRELOC32    1021
  51. #define HUNK_ABSRELOC16    1022
  52.  
  53. /*
  54.  * Any hunks that have the HUNKB_ADVISORY bit set will be ignored if they
  55.  * aren't understood.  When ignored, they're treated like HUNK_DEBUG hunks.
  56.  * NOTE: this handling of HUNKB_ADVISORY started as of V39 dos.library!  If
  57.  * lading such executables is attempted under <V39 dos, it will fail with a
  58.  * bad hunk type.
  59.  */
  60. #define HUNKB_ADVISORY    29
  61. #define HUNKB_CHIP    30
  62. #define HUNKB_FAST    31
  63. #define HUNKF_ADVISORY    (1L<<29)
  64. #define HUNKF_CHIP    (1L<<30)
  65. #define HUNKF_FAST    (1L<<31)
  66.  
  67.  
  68. /* hunk_ext sub-types */
  69. #define EXT_SYMB    0    /* symbol table */
  70. #define EXT_DEF        1    /* relocatable definition */
  71. #define EXT_ABS        2    /* Absolute definition */
  72. #define EXT_RES        3    /* no longer supported */
  73. #define EXT_REF32    129    /* 32 bit absolute reference to symbol */
  74. #define EXT_ABSREF32    EXT_REF32
  75. #define EXT_COMMON    130    /* 32 bit absolute reference to COMMON block */
  76. #define EXT_ABSCOMMON    EXT_COMMON
  77. #define EXT_REF16    131    /* 16 bit PC-relative reference to symbol */
  78. #define EXT_RELREF16    EXT_REF16
  79. #define EXT_REF8    132    /*  8 bit PC-relative reference to symbol */
  80. #define EXT_RELREF8    EXT_REF8
  81. #define EXT_DEXT32    133    /* 32 bit data relative reference */
  82. #define EXT_DEXT16    134    /* 16 bit data relative reference */
  83. #define EXT_DEXT8    135    /*  8 bit data relative reference */
  84.  
  85. /* These are to support some of the '020 and up modes that are rarely used */
  86. #define EXT_RELREF32    136    /* 32 bit PC-relative reference to symbol */
  87. #define EXT_RELCOMMON    137    /* 32 bit PC-relative reference to COMMON block */
  88.  
  89. /* for completeness... All 680x0's support this */
  90. #define EXT_ABSREF16    138    /* 16 bit absolute reference to symbol */
  91.  
  92. /* this only exists on '020's and above, in the (d8,An,Xn) address mode */
  93. #define EXT_ABSREF8    139    /* 8 bit absolute reference to symbol */
  94.  
  95. #endif    /* DOS_DOSHUNKS_H */
  96.